package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;

import java.util.List;

public interface WmNewsService extends IService<WmNews> {

    /**
     * 查询所有自媒体文章
     * @return
     */
    public ResponseResult findAll(WmNewsPageReqDto dto);

    /**
     * 自媒体文章发布
     * @param wmNewsDto
     * @param isSubmit  是否为提交 1 为提交 0为草稿
     * @return
     */
    ResponseResult saveNews(WmNewsDto wmNewsDto, Short isSubmit);

    /**
     * 查询文章详情
     * @param id
     * @return
     */
    public ResponseResult findWmNewsById(Integer id);

    /**
     * 删除文章
     * @return
     */
    ResponseResult delNews(Integer id);

    /**
     * 上下架
     * @param dto
     * @return
     */
    ResponseResult downOrUp(WmNewsDto dto);

    /**
     * 查询所有待发布的文章
     * 状态为 4||8, 文章的发布时间 小于等于 当前时间
     * @return
     */
    List<Integer> findRelease();

    /**
     * 查询文章列表 包含作者
     * @param dto
     * @return
     */
    ResponseResult findList(NewsAuthDto dto);

    /**
     * 查询文章详情（作者）
     * @param id
     * @return
     */
    ResponseResult findWmNewsVo(Integer id);

    /**
     * 人工审核 文章的状态
     * @param status
     * @param dto
     * @return
     */
    ResponseResult updateStatus(Short status, NewsAuthDto dto);
}
